package com.battle.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.battle.pojo.converter.LabelingTaskConvert;
import com.battle.pojo.converter.MetaObjectConverter;
import jakarta.persistence.Column;
import jakarta.persistence.Convert;
import jakarta.persistence.Entity;
import lombok.Data;
import nirvana.core.domains.ann.AccEntity;
import nirvana.core.domains.entity.DomainBaseEntity;
import nirvana.core.domains.enums.EntityType;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author anni.zhu
 * @author anni.zhu@king-v.com
 * Created in 2024/10/10 17:19
 * 数据标注任务
 */
@Data
@TableName(value = "DATA_LABELING_TASK",autoResultMap = true)
@Entity(name = "DATA_LABELING_TASK")
@AccEntity(value = "数据标注任务", type = EntityType.SERVICE_ENTITY)
public class DataLabelingTask extends DomainBaseEntity<DataLabelingTask> {
    /**
     * 任务名称
     */
    @Column()
    private String name;

    /**
     * 负责人
     */
    @Column()
    private Long principal;

    /**
     * 是否标注
     */
    @Column()
    private Boolean isLabeling;

    /**
     * 标注时间
     */
    @Column()
    private LocalDateTime labelingTime;


    /**
     * 标注内容
     */
    @Column(columnDefinition="varchar(500)")
    @Convert(converter = LabelingTaskConvert.class)
    @TableField(value = "task",typeHandler = JacksonTypeHandler.class)
    private LabelingTask task;


}
